package com.tencent.iov.cowin.befsale.clue.controller.clue.vo.request;

import com.software.common.model.request.ScrmBaseRequest;

import lombok.Data;

import org.hibernate.validator.constraints.Length;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotEmpty;

import java.util.Date;

/**
 * 查询_Request层
 *
 * @author whp
 * @version 1.0
 * @created 2021-12-21 16:16:06
 */
@Data
@ApiModel(description = "线索信息表_Request层")
public class QueryClueRequest extends ScrmBaseRequest {

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", example = "stringValue")
    private Long id;
    /**
     * request_id 请求id
     */
    @ApiModelProperty(value = "request_id 请求id", example = "stringValue")
    private String requestId;
    /**
     * 线索源id
     */
    @ApiModelProperty(value = "线索源id", example = "stringValue")
    private Long clueInitialId;
    /**
     * 售前客户表主键
     */
    @ApiModelProperty(value = "售前客户表主键", example = "stringValue")
    private Long cusId;
    /**
     * 意向等级_意向字典
     */
    @ApiModelProperty(value = "意向等级_意向字典", example = "stringValue")
    private String intentionGrade;

    /**
     * 经销商下发状态（0待下发 1已下发，2已分配顾问）
     */
    @ApiModelProperty(value = "经销商下发状态（0待下发 1已下发，2已分配顾问）", example = "1")
    private Integer dealerFollowStatus;
    /**
     * 下发经销商时间
     */
    @ApiModelProperty(value = "下发经销商时间", example = "2020-03-28T13:46:56.711Z")
    private Date planTime;
    /**
     * 分配顾问时间
     */
    @ApiModelProperty(value = "分配顾问时间", example = "2020-03-28T13:46:56.711Z")
    private Date distributeTime;
    /**
     * 线索状态（ 0跟进中 10已到店，15已下订，20已交车，25已实销，30战败审核 35已战败 跟进内容关联关系
     */
    @ApiModelProperty(value = "线索状态（ 0跟进中 10已到店，15已下订，20已交车，25已实销，30战败审核 35已战败 跟进内容关联关系", example = "1")
    private Integer status;

    @ApiModelProperty(value = "线索是否活跃，（0活跃 -1 不活跃   活跃:跟进中、已到店,战败申请中; 其它则不活跃", example = "1")
    private Integer isActive;
    /**
     * 删除标志（0：代表存在、-1：代表删除）
     */
    @ApiModelProperty(value = "删除标志（0：代表存在、-1：代表删除）", example = "1")
    private Integer deleted;
    /**
     * 租户id
     */
    @ApiModelProperty(value = "租户id", example = "stringValue")
    private String tenantId;
    /**
     * 大区id
     */
    @ApiModelProperty(value = "大区id", example = "stringValue")
    private String bigSectorId;
    /**
     * 经销商id
     */
    @ApiModelProperty(value = "经销商id", example = "stringValue")
    private String dealerId;
    /**
     * 企微id
     */
    @ApiModelProperty(value = "企微id", example = "stringValue")
    private String corpId;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", example = "stringValue")
    private String createdBy;
    /**
     * 创建人名称
     */
    @ApiModelProperty(value = "创建人名称", example = "stringValue")
    private String createdName;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;
    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人", example = "stringValue")
    private String updatedBy;
    /**
     * 修改人名称
     */
    @ApiModelProperty(value = "修改人名称")
    private String updatedName;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Date updatedTime;

    @ApiModelProperty(value = "分页起止数据",hidden = true)
    private Integer pageIndex;

    @ApiModelProperty(value = "分页 每页数量",hidden = true)
    private Integer pageSize;

    /**
     * 一级状态：
     */
    @ApiModelProperty(value = "一级状态：记录表的status",hidden = true)
    private Integer firstStatus;

    /**
     * 二级状态
     */
    @ApiModelProperty(value = "二级状态：记录表的secondStatus",hidden = true)
    private Integer secondStatus;

    @ApiModelProperty(value = "发送kafka状态", example = "stringValue")
    private Integer sendMqStatus;

    @ApiModelProperty(value = "是否是失败线索记录", example = "stringValue")
    private String isFailClueRecord;

}